The present invention relates to execution time estimate analysis and, more specifically, to execution time estimate analysis for a computing environment.
In a computing environment, it is often helpful and sometimes necessary to know ahead of time how long an execution of an algorithm will take given certain initial conditions. These initial conditions relate to a type of data being input into the algorithm, parameters of the algorithm and parameters of the architecture of the computing environment. Thus, while small data sets, logical algorithm construction and high-throughput computing architecture can provide for short execution times, increasingly complex data sets, inefficient or imperfect algorithm logic and a highly complex computing architecture can all drive higher execution times. Being able to predict how each of the conditions will ultimately affect the execution times permits operators to initiate or delay executions based on various conditions such as the available of computing resources and the priority of the executions.
Previous attempts to address the need to be able to predict execution times of algorithms have generally focused on data driven algorithms in which the features used for prediction are drawn only from the algorithms themselves. Such methods can be effective in some cases but are not always reliable in all situations.